IDEA导入Spring boot 项目使用Maven 搭建多模块项目启动时Mybatis扫描不到Mapper.xml文件解决方式

IDEA导入Spring boot 项目使用Maven 搭建多模块项目启动时Mybatis扫描不到Mapper.xml文件解决方式

前几天导入的公司以前写的项目是一个Spring Boot 使用Maven搭建的多模块项目导入IDEA在编译完成发现没有扫描对应的xml

在这里插入图片描述

1 先查看tomcat编译完成的 target 文件是否编译出对应的xml 文件

公司的这个项目使用的逆向工程生成的xml是放在代码中的不是正常的开发中放到resources 中,idea 中的maven 编译是默认不去扫描 代码中的xml 的 要让其扫描要在总pom.xml 文件中配置

<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.xml</include>
				</includes>
			</resource>
			<resource>
				<directory>${project.basedir}/src/main/resources</directory>
			</resource>
</resources>

重新让maven编译

在这里插入图片描述

再次查看 target 中的代码 发现已经生成了对应的 xml
在这里插入图片描述

2.查看是否mybatis 配置正确

然后启动项目 ,发现还是出现bingException 说明没有还是没有对应的xml 文件,纳闷都生成了对应的xml 了还是这样 ,然后我就是打开对应的 log 日志查看启动日志

再yml 中设置debug

logging:
  level:
	#xxx表示你的项目名称
    com.xxx: DEBUG
    org.apache.ibatis: DEBUG
    org.mybatis.Spring: DEBUG

然后查看对应的加载信息发现没有扫描到对应的xml

1.查看是不是@MapperScan的问题

2.mapper-locations的问题

之前项目写的

mybatis:
    mapper-locations: classpath:com/szqbl/lib/*/dao/${szqbl.db-type}/*.xml,com/szqbl/lib/*/*/dao/${szqbl.db-type}/*.xml,classpath:com/szqbl/*/dao/${szqbl.db-type}/*.xml,classpath:com/szqbl/*/*/dao/${szqbl.db-type}/*.xml,classpath:com/szqbl/*/*/*/dao/${szqbl.db-type}/*.xml

然后debug 后发现是

mapper-locations 的问题,这个项目是一个maven多模块项目导入了多个模块以jar的方式

classpath:只会到你的class路径中查找找文件。

classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找。

然后修改成 :

mybatis:
    mapper-locations: classpath*:com/szqbl/lib/*/dao/${szqbl.db-type}/*.xml,com/szqbl/lib/*/*/dao/${szqbl.db-type}/*.xml,classpath:com/szqbl/*/dao/${szqbl.db-type}/*.xml,classpath:com/szqbl/*/*/dao/${szqbl.db-type}/*.xml,classpath:com/szqbl/*/*/*/dao/${szqbl.db-type}/*.xml

最后启动项目发现扫描加载每个项目中的xml 了 成功跑起来了

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要在idea安卓开发实现二维码扫描功能,可以通过使用Android Studio集成开发环境和相关库来实现。 首先,在Android Studio创建一个新的Android项目。然后,在项目的build.gradle文件添加相应的依赖库,例如Google Vision API或Zxing库,它们都是常用的用于二维码扫描的库。 接下来,在项目的布局文件添加一个用于显示扫描结果的文本视图和一个用于扫描二维码的按钮。 在对应的活动,需要添加一些权限申请的代码,如相机权限和震动权限,以便在扫描二维码时使用相机和提示用户。 然后,在代码实现相机的初始化和预览,可以使用Camera或Camera2库来实现。还需要添加扫描结果的回调方法,以便在成功扫描到二维码时获取结果。 同时,通过导入二维码扫描库提供的或方法,可以在扫描按钮的点击事件实现具体的扫描逻辑,例如打开相机、开始扫描、处理扫描结果等。 最后,将扫描结果显示在文本视图,并根据需要可以添加一些额外的功能,如震动或声音提示,或者将扫描结果通过网络请求发送给服务器等。 总之,实现在idea安卓开发扫描二维码的步骤大致如上所述。通过使用相应的依赖库和代码逻辑,可以在Android应用添加二维码扫描功能,将二维码转化为有用的信息。 ### 回答2: 在安卓开发实现扫描二维码功能可以通过调用相机和解析扫描结果两个步骤来完成。 首先,需要获取相机的权限。在AndroidManifest.xml文件添加相机权限的声明,确保应用程序有权限访问设备的摄像头。 其次,需要使用Camera和SurfaceView来实现相机预览功能。创建一个camera对象,并将其与一个SurfaceHolder对象绑定,然后将SurfaceHolder对象设置为SurfaceView的Holder对象。这样相机预览图像就可以直接显示在SurfaceView上。 接下来,我们需要使用ZXing库来解析二维码。ZXing是一个开源的二维码扫描库,可以用于识别和解析多种型的二维码。可以通过添加ZXing库的依赖来使用它,然后创建一个扫描二维码的界面,当用户点击扫描按钮时,调用ZXing库提供的方法开始扫描。 当扫描成功后,会得到一个包含扫描结果的字符串。可以根据需要对扫描结果进行处理,比如打开一个网址、拨打电话等。 最后,为了优化用户体验,可以添加一些额外的功能。比如可以在扫描过程添加一个扫描框来引导用户扫描二维码,还可以为用户提供手动输入二维码内容的选项。 综上所述,安卓开发实现扫描二维码功能可以通过调用相机预览和解析扫描结果两个步骤来完成。通过获取相机权限,使用Camera和SurfaceView实现预览功能,引入ZXing库来进行二维码解析。在实际应用,还可以添加额外的功能来提高用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值